function calTime(start, end) {
    const mapTags = {
        'REDIS': {
            "get": 1, "mget": 1, "hget": 1, "hgetall": 1,
            "hlen": 1, "llen": 1, "scard": 1, "zcard": 1,
            "zrange": 1, "zrevrange": 1, "zrangebyscore": 1, "zrevrangebyscore": 1,
            "zrangebylex": 1, "zrevrangebylex": 1, "zcount": 1, "zscore": 1, "zrank": 1, "zrevrank": 1
        },
        'SQL': {
            'select': 1, 'set': 0
        }
    };
    const result = {
        "SQL": { "RESOURCE": {} },
        "REDIS": { "RESOURCE": {} }
    };
    // 获取所有的rowFormatter__value的dd元素
    var ddElements = document.querySelectorAll('dd.rowFormatter__value');

    ddElements.forEach((ddElement) => {
        // 获取dd元素的文本内容
        let textContent = ddElement.textContent || ddElement.innerText;

        // 判断是否存在shop_eye_type
        if (textContent.includes('shop_eye_type')) {
            // 使用正则表达式提取JSON字符串
            const regex = /\[({.*?})\],args\[.*?\]/g;
            let match;
            let jsonString;

            // 查找匹配项
            while ((match = regex.exec(textContent)) !== null) {
                jsonString = match[1]; // 获取括号内的JSON字符串
                break; // 如果只需要第一个匹配项，可以在这里使用break
            }

            // 解析JSON字符串为对象
            try {
                const strArr = JSON.parse(jsonString);
                // 在这里你可以对jsonObject进行进一步的处理或存储
                const flag = strArr.shop_eye_type.trim();
                if (!result[flag]) {
                    result[flag] = { "RESOURCE": {} };
                }

                // 读写标识  
                let tmpTag = '';
                const cliName = strArr.call.toLowerCase().trim().split(' ')[0];
                if (mapTags[flag] && mapTags[flag][cliName] !== undefined) {
                    tmpTag = mapTags[flag][cliName] ? "read" : "write";
                }

                const rName = strArr.resource.trim();

                if (!tmpTag) {
                    if (result[flag].RESOURCE[rName]) {
                        result[flag].RESOURCE[rName] += 1;
                    } else {
                        result[flag].RESOURCE[rName] = 1;
                    }
                } else {
                    const tmpValue = mapTags[flag][cliName] !== undefined ? mapTags[flag][cliName] : 1;
                    if (result[flag].RESOURCE[rName] && result[flag].RESOURCE[rName][tmpTag]) {
                        result[flag].RESOURCE[rName][tmpTag] += tmpValue;
                    } else {
                        if (result[flag].RESOURCE[rName] == undefined) {
                            result[flag].RESOURCE[rName] = {};
                        }
                        result[flag].RESOURCE[rName][tmpTag] = tmpValue;
                    }
                }
            } catch (e) {
                console.error('Failed to parse JSON:', e);
            }
        }
    });
    let jsonString = JSON.stringify(result, null, 2);
    // console.log(jsonString);
    let arr_time = [1, 22, 333, jsonString]; 
    return arr_time;
}
